There is a need to make decisions on data that changes quickly or even in real time. One such application is authentication or impostor detection where there may be a cost associated with the latency of decision-making. Conventionally, a large number of models are required to be built or modified each pertaining to the profile of a user without enrolling the user explicitly.
In explicit enrollment, the user consciously goes through a series of steps so as to help gather sufficient and highly accurate data to train the user's profile. One example of explicit enrollment is where the user speaks a series of keywords that help capture the user's acoustic features. Enrollment, as used herein, is often within the context of authentication or the context of impostor detection.
When explicit enrollment cannot be done, enrollment happens in incremental steps as and when more data is captured passively. For example, “passive enrollment” involves a user making a call or performing an activity without knowing about any enrollment that is happening.
A unique model or profile may be created for every user using existing data, and then the model may be continually improved as more data related to a particular user is streamed into the system. Another example is impostor detection where content related to users' activities is generated in large volumes, and quick anomaly detection schemes are required to generate timely alerts to indicate activity that is not genuine. Hence, there are two simultaneous challenges: a large volume of streaming data and a low-latency constraint. Traditional machine learning techniques are quite powerful in generating accurate models but may not be suitable in their original form for voluminous, streaming, and latency-constrained applications. This may be attributed to two main reasons, among others: learning complex decision boundaries and cross-validation to avoid overfitting, both of which are computationally expensive.